package aconcagua.measure

abstract class CompoundUnit extends UnitBehavior {

	// accessing
	@Override
	public baseUnit() {
		return this;
	}

	@Override
	public nothingAmount() {
		return 0;
	}

	// converting
	@Override
	public convertAmountToBaseUnit(aNumber) {
		return aNumber;
	}

	// converting private
	@Override
	protected convertFromBaseUnit(aMeasure) {
		return aMeasure;
	}

	protected convertToBaseUnit(aMeasure) {
		return aMeasure;
	}

	// measure creation
	@Override
	public with(aNumber) {
		return new Measure(aNumber, this);
	}
}
